home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 May
/
EnigmA AMIGA RUN 07 (1996)(G.R. Edizioni)(IT)[!][issue 1996-05][EARSAN CD VI].iso
/
docs
/
corsoguide
/
finestre-15.txt
< prev
next >
Wrap
Text File
|
1992-09-03
|
5KB
|
101 lines
Le finetsre (window)
La finestra è una zona rettangolare dello schermo che funziona come un
piccolo terminale, e permette di interagire con l'utente; la window dispone
di diversi gadgets (bottoni) standard di sistema che possono essere
specificati dal programmatore all'apertura di quest'ultima:
Close Gadget:
Il gadget in alto a sinistra che permette la chiusura della finestra
Drag Bar:
La barra titolo che permette il trascinamento della finestra
Zoom Gadget:
Il gadget a sinistra tra quelli in alto a destra, permette di scegliere tra
due dimensioni della finestra (se la finestra è abilitata a cambiare la sua
grandezza)
Depth Gadget:
Il gadget a destra fra quelli in alto a destra, permette di far passare
avanti o dietro la finestra, rispetto a tutte le altre
Sizing Gadget:
Il gadget in basso a destra, permette di cambiare la dimensione della
finestra.
La finestra può essere attiva (active), nel qual caso il bordo viene colorato
di blu; esiste una sola finestra attiva per volta, dato che selezionando
una finestra l'utente decide l'input-focus (vale a dire su quale finestra
far convergere i dati di ingresso quali tastiera, mouse ecc.).
Per aprire la finestra esistono tre diverse funzioni di intuition, che
ricoprono gli stessi ruoli di quelle viste per lo schermo:
Finestra = OpenWindowTagList(NuovaFinestra,listatags);
Finestra = OpenWindowTags(NuovaFinestra,tagId1,tagVal1,...);
Finestra = OpenWindow(NuovaFinestra);
"Finestra" è il puntatore alla struttura Window relativa alla finestra aperta
(viene ritornato NULL in caso non sia stato possibile aprirla);
"NuovaFinestra" è il puntatore alla struttura NewWindow o ExtNewWindow
contenente i parametri della finestra da aprire (dal 2.0 non ha più
importanza utilizzare questo parametro); mentre "listatags" in
OpenWindowTagList o "tagId1,tagVal1,..." in OpenWindowTags sono liste di tag
per i parametri della finestra passate nelle due maniere viste la volta
scorsa; OpenWindow è la vecchia funzione per l'apertura di una finestra che,
utilizzando la struttura ExtNewWindow con flag WFLG_NW_EXTENDED attivato
permette la compatibilità con versioni del sistema inferiore al v36.
Per chiudere una finestra aperta, bisogna
chiamare la funzione:
CloseWindow(Finestra);
dove "Finestra" è il puntatore alla struttura Window ritornata da
OpenWindowTags. Per indicare su quale schermo aprire la finestra, occorre
specificare nella OpenWindowTags il tag WA_CustomScreen con il puntatore allo
schermo come parametro; se invece si vuole aprire la finestra su schermo
pubblico si può indicare il tag WA_PubScreen con il puntatore allo schermo
pubblico (ottenuto con LockPubScreen), oppure utilizzando il tag
WA_PubScreenName e passando il nome dello schermo pubblico; se non viene
specificato nessun tag che indichi quale schermo utilizzare, oppure
WA_PubScreenName con parametro NULL, la finestra verrà aperta sullo schermo
pubblico di default (normalmente il WorkBench).
Esistono tre tipi particolari di finestre, che possono essere impostati
mediante gli attributi all'apertura di quest'ultime; da notare che un tipo
non esclude l'altro, per cui una finestra può appartenere a tutte e tre le
categorie e beneficiare di tutte le caratteristiche.
BackDrop window
Vale a dire finestra che "cade" dietro; una finestra con questa
caratteristica risulta sempre dietro alle altre, anche quando l'utente agisce
sul gadget di profondità; la finestra può però essere davanti ad altre di tipo
backdrop. L'unico gadget di sistema che questo tipo di finestre può avere è
quello di chiusura, mentre non vi sono limitazioni per gadgets creati
dall'applicazione. Questo tipo di finestre può servire ad inserire delle
immagini di sottofondo che sembrino disegnate direttamente sullo schermo
(soprattutto se la finestra è anche di tipo borderless); per attivare
questa caratteristica utilizzare l'attributo WA_Backdrop.
BorderLess window
Una finestra borderless è una finestra senza bordi; vale a dire
che i bordi non esistono e non vengono rinfrescati, per cui evitate di
utilizzare il titolo per la finestra, o di utilizzare gadget di sistema,
poiché ciò provocherebbe il rinfresco di alcune zone dei bordi; evitate di
utilizzare finestre borderless che coprano tutto lo schermo, perché
potrebbero confondere l'utente; un applicazione tipica è quella accennata
prima con le finestre backdrop; per utilizzare questa caratteristica
impostare l'attributo WA_Borderless.
GimmeZeroZero window
Le finestre GimmeZeroZero provvedono a creare un layer (la struttura per la
memorizzazione dell'immagine e per il suo rinfresco) separato per il bordo;
normalmente se il programmatore disegna o compie una qualunque operazione
grafica sulla finestra, deve tener conto del bordo (infatti scrivendo il
pixel di cordinate 0,0 si interviene nel primo pixel in alto a sinistra sul
bordo); invece se la finestra è di tipo GimmeZeroZero, il programmatore può
intervenire solo sul contenuto della finestra senza intaccare il bordo;
attivando il GimmeZeroZero in una finestra si aumentano i tempi di
rinfresco video, in quanto il sistema deve gestire due layers per una
finestra; per attivare questa caratteristica, utilizzare il tag
WA_GimmeZeroZero.